<?php
Yii::import('application.models.Users');
class PanelController extends Controller
{	
	
	public function filters()
	{
		return array(
			'accessControl', // perform access control for CRUD operations
		);
	}

	public function accessRules()
	{
		return array(
			array('allow',  // allow all users to perform 'index' and 'view' actions
				'actions'=>array('index','trust'),
				'users'=>array('*'),
			),
			array('allow', // allow authenticated user to perform 'create' and 'update' actions
				'actions'=>array('forms','reporte','verRegistro'),
				'users'=>array('@'),
			),
			array('allow', // allow admin user to perform 'admin' and 'delete' actions
				'actions'=>array('forms','reporte','batchAcreditado','reporteNominaPais','matriz','reporteTodosPaises','reporteNumericoPaises','reporteNumericoPais','reporteDirectaTodosPaises','reporteAcreditados', 'reporteRegistrados', 'reporteAprobados', 'reporteNegados', 'reporteEliminados','batchDirecta','batchRegistrado','batchEliminado','batchNegado','batchAprobado','busqueda','busquedaAcreditados','acreditaciones','eliminar','modificarEstado','modificarRegistro','buscarFuncion','actualizarFoto','imprimirReporteNominaPais','imprimirReporteAprobados','imprimirReporteEliminados','imprimirReporteNegados','inscripcionNominal'),
				'users'=>Yii::app()->getModule('user')->getAdmins(),
			),
			array('deny',  // deny all users
				'users'=>array('*'),
			),
		);
	}
	
	public function actionBatchAcreditado()
	{
		
		$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
					$criteria->order="gp.persona_nacionalidad,gin.inscripcion_nominal_aplica,gp.persona_nombres_apellidos";
					
					$criteria->condition="inscripcion_nominal_estado='ACREDITADO'";
					
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);		
					
					$pages=new CPagination(InscripcionNominal::model()->count($criteria->condition));
					$pages->pageSize=12;
    				$pages->applyLimit($criteria);
					$model=Persona::model()->findAll($criteria);
					
	if(isset($_POST['Persona']))
		{
			//$valid=true;
			$i=0;
					$contadorAcreditado = 0;
					$arrayacreditado = array();
			foreach ($dataProvider->getData() as $data)
			{
				$i++;							
				
				if(isset($_POST['Persona'][$i]))
				{					
					/*$uJob = $this->loadModel($_POST['Job'][$i]['idjob']);
					$uJob->attributes=$_POST['Job'][$i];
					$uJob->save();

					$jobs = Job::model()->findAll();*/
					
					//echo $_POST['Persona'][$i]['inscripcion_nominal_estado'];
					
					
					
					//Si esta ISSET es porque esta marcado el check
					if(isset($_POST['Persona'][$i]['persona_seleccionada']))
					{	
						if($_POST['AccionBatch']=='ACREDITADO')
						{
							$arrayacreditado[$contadorAcreditado] = $_POST['Persona'][$i]['inscripcion_nominal_id'];
							$contadorAcreditado++;
						}					
						$connection = Yii::app()->db;
						$command = $connection->createCommand("
						   UPDATE grid_inscripcion_nominal SET inscripcion_nominal_estado='{$_POST['AccionBatch']}',credencial_generada=credencial_generada+1 WHERE inscripcion_nominal_id='{$_POST['Persona'][$i]['inscripcion_nominal_id']}';");
						$command->query();						
					}
					
				}
			}
			//echo $contadorAcreditado;
			
			//print_r($arrayacreditado);
			
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);
					
					
			//Construir array para redirect
			$arrayRedirect= array('/credencial/imprimir','d'=>$contadorAcreditado);

			for ($i = 0; $i < $contadorAcreditado; $i++) {											
				$arrayRedirect = $this->array_push_assoc($arrayRedirect, 'd'.$i, $arrayacreditado[$i]);						
			}
			if($_POST['AccionBatch']=='ACREDITADO')						
				$this->redirect($arrayRedirect);			
			//$this->redirect(array('/credencial/imprimir','d'=>$contadorAcreditado));
			//$this->redirect(array('modificarRegistro','inid'=>$inid));	
			//$this->redirect(array('/panel/acreditaciones','d'=>$contadorAcreditado,$arrayacreditado));
		}
					
					
		$this->render('batchAcreditado',array('dataProvider'=>$dataProvider,'model'=>$model,'pages'=>$pages,'tipo'=>'acreditado'));
	}
	
	public function actionVerRegistro($inid)
	{
		if(isset($inid)) 
		{	
			$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';
					
					$criteria->condition="gin.inscripcion_nominal_id= {$inid}";										
				
					$dataProvider=new CActiveDataProvider('Persona',
					array(
						'criteria'=>$criteria,
						)
					);		
	
        			$this->render('verRegistro',array('dataProvider'=>$dataProvider));

		}
		else
			$this->redirect('forms');
	}
	
	public function actionTrust($inid)
	{
		if(isset($inid)) 
		{	
			$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';
					
					$criteria->condition="gin.inscripcion_nominal_id= {$inid}";										
				
					$dataProvider=new CActiveDataProvider('Persona',
					array(
						'criteria'=>$criteria,
						)
					);		
	
        			$this->render('trust',array('dataProvider'=>$dataProvider));

		}
		else
			$this->redirect('forms');
	}
	
	public function actionActualizarFoto($inid)
	{
		$inid = Yii::app()->request->getQuery('inid');
		if(isset($inid)) 
		{	
			$inscripcionNominal = InscripcionNominal::model()->findByPk($inid);
			$persona = Persona::model()->findByPk($inscripcionNominal->inscripcion_nominal_persona);
			
			//TODO: VALIDACION JPG
			
			if(isset($_POST['InscripcionNominal']))
			{
				
				$inscripcionNominal->inscripcion_nominal_foto =CUploadedFile::getInstance($inscripcionNominal, 'inscripcion_nominal_foto');
				
				$model = new Foto();
				$model->inscripcion_foto =CUploadedFile::getInstance($inscripcionNominal, 'inscripcion_nominal_foto');
												
				if ($model->validate()) {									
					$archivo= 'kep/'.md5($inid.$inscripcionNominal->inscripcion_nominal_foto).'.jpg';
					$inscripcionNominal->inscripcion_nominal_foto->saveAs($archivo);
					$inscripcionNominal->inscripcion_nominal_foto_encriptada = $archivo;
					$inscripcionNominal->inscripcion_nominal_foto = $archivo;
					$inscripcionNominal->inscripcion_nominal_foto_archivo = $archivo;
					$inscripcionNominal->save();				
					$this->redirect(array('modificarRegistro','inid'=>$inid));
				}
				else 
					$this->render('errores',array('errores'=>$model->errors,'inid'=>$inid));

				
			}
			else
				$this->render('actualizarFoto',array('inscripcionNominal'=>$inscripcionNominal,'persona'=>$persona));	
			
		}
		else
			$this->redirect('forms');
	}
	
	
	public function actionBuscarFuncion()
	{
		$connection = Yii::app()->db;
	
	$command = $connection->createCommand("
	SELECT gca.categoria_aplica_id,gca.categoria_aplica FROM grid_categoria gc 
    INNER JOIN grid_categoria_aplica gca on gc.categoria_id = gca.categoria_aplica_categoria_id
    WHERE gc.categoria_grupo = ".(int)$_POST['Persona']['inscripcion_nominal_grupo']);
		
	$dataReader = $command->query();

	$datos = $dataReader->readAll();
											
	$data = CHtml::listData($datos, 'categoria_aplica_id', 'categoria_aplica');
	
	
	
	foreach ($data as $value=>$name)
		{
			echo CHtml::tag('option',
				array('value'=>$value),CHtml::encode($name),true);				
		}
	
	}
	
	public function actionModificarRegistro()
	{
		/*
		$usuario=User::model()->findByPk(Yii::app()->user->id);
		
		if($usuario->organizacion_id!='admin')
			$this->redirect('forms');
		*/
		
			
		//TODO: VALIDACION POR USUARIO Y POR TIPO REGISTRADO ETC
		$inid = Yii::app()->request->getQuery('inid');
		if(isset($inid)) 
		{				
			
			if(isset($_POST['Persona']))
			{
				$persona = Persona::model()->findByPk($_POST['Persona']['persona_id']);
				
				/*		
				$inscripcion = InscripcionNominal::model()->findByPk($_POST['Persona']['inscripcion_nominal_id']);
						
				if ($inscripcion->inscripcion_nominal_estado=="Aprobado")
				{
					$errores = array('El registro de '.$persona->persona_nombres_apellidos.' ha sido aprobado para la acreditación, por lo cual no no puede ser modificado');
					$this->render('errores',array('errores'=>$errores,'inid'=>$_POST['Persona']['inscripcion_nominal_id']));
				}*/
				
				$persona->persona_nombres_apellidos = strToUpper($_POST['Persona']['persona_nombres_apellidos']);
				$persona->persona_genero = strToUpper($_POST['Persona']['persona_genero']);
				$persona->persona_altura_cm = strToUpper($_POST['Persona']['persona_altura_cm']);
				$persona->persona_peso_kg = strToUpper($_POST['Persona']['persona_peso_kg']);
				$persona->persona_tipo_sangre = strToUpper($_POST['Persona']['persona_tipo_sangre']);
				$persona->persona_tipo_identificacion = strToUpper($_POST['Persona']['persona_tipo_identificacion']);
				$persona->persona_numero_identificacion = strToUpper($_POST['Persona']['persona_numero_identificacion']);
				
				
				
				
				if(!empty($_POST['Persona']['persona_fecha_expiracion_documento']))
				{
					$fechaExpiracion = explode('/',$_POST['Persona']['persona_fecha_expiracion_documento']);
$persona->persona_fecha_expiracion_documento= $fechaExpiracion[2].'-'.$fechaExpiracion[1].'-'.$fechaExpiracion[0] ;								 
				 
				}
				
				if(!empty($_POST['Persona']['persona_fecha_nacimiento']))
				{				
					$fechaNacimiento = explode('/',$_POST['Persona']['persona_fecha_nacimiento']);
		$persona->persona_fecha_nacimiento= $fechaNacimiento[2].'-'.$fechaNacimiento[1].'-'.$fechaNacimiento[0];
				}
				
				
				$persona->persona_direccion = strToUpper($_POST['Persona']['persona_direccion']);
				$persona->persona_telefono = strToUpper($_POST['Persona']['persona_telefono']);
				$persona->persona_movil = strToUpper($_POST['Persona']['persona_movil']);
				$persona->persona_email = strToUpper($_POST['Persona']['persona_email']);
				$persona->persona_ciudad_estado = strToUpper($_POST['Persona']['persona_ciudad_estado']);
				$persona->persona_pais = strToUpper($_POST['Persona']['persona_pais']);
				$persona->persona_nacionalidad = strToUpper($_POST['Persona']['persona_nacionalidad']);
				$persona->persona_nombre_credencial = strToUpper($_POST['Persona']['persona_nombre_credencial']);
				
				if($persona->validate())
				{																						
					if($persona->save())
					{
						$inscripcion = InscripcionNominal::model()->findByPk($_POST['Persona']['inscripcion_nominal_id']);
																		
						$inscripcion->inscripcion_nominal_deporte_actividad = $_POST['Persona']['inscripcion_nominal_deporte_actividad'];
						$inscripcion->inscripcion_nominal_aplica=$_POST['Persona']['inscripcion_nominal_aplica'];
						
						$oCategoria = CategoriaAplica::model()->findByPk($inscripcion->inscripcion_nominal_aplica);
						
						$inscripcion->inscripcion_nominal_categoria = $oCategoria->categoria_aplica_categoria_id;
						$inscripcion->inscripcion_nominal_fecha_modificacion = date('Y-m-d h:i:s');
						$inscripcion->inscripcion_nominal_estado = $_POST['Persona']['inscripcion_nominal_estado'];
						
						if($inscripcion->validate())
						{						
							$inscripcion->save();
							$this->redirect('busqueda');
							//TODO: Definir Redireccion
						}
						else 
							$this->render('errores',array('errores'=>$inscripcion->errors,'inid'=>$_POST['Persona']['inscripcion_nominal_id']));
						
					}
				}
				else
					$this->render('errores',array('errores'=>$persona->errors,'inid'=>$_POST['Persona']['inscripcion_nominal_id']));				
			}	
			else {
				
			
			$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';
					
					$criteria->condition="gin.inscripcion_nominal_id= {$inid}";										
				
					$dataProvider=new CActiveDataProvider('Persona',
					array(
						'criteria'=>$criteria,
						)
					);		
	
        			$this->render('modificarRegistro',array('dataProvider'=>$dataProvider));
			}	
		}
		else
			$this->redirect('forms');
	}
	
	public function actionModificarEstado()
	{
		/*$nominaId = $_POST['nominaId'];
  		$personaId = $_POST['personaId'];
  		$i=$_POST['i'];
		$opcion = $_POST['Persona'][$i]['inscripcion_nominal_estado'];
  		
  		$connection = Yii::app()->db;
		$command = $connection->createCommand("
		   UPDATE grid_inscripcion_nominal SET inscripcion_nominal_estado='{$opcion}' WHERE inscripcion_nominal_id='{$nominaId}';");
		$command->query();
		*/  		
	}
	
	public function actionEliminar()
	{
		$nominaId = $_POST['nominaId'];
  		$personaId = $_POST['personaId'];
  		
  		
  		$connection = Yii::app()->db;
		$command = $connection->createCommand("
		   UPDATE grid_inscripcion_nominal SET inscripcion_nominal_estado='ELIMINADO' WHERE inscripcion_nominal_id='{$nominaId}';");
		$command->query();
		
	}
	
	public function actionMatriz()
	{
		$this->render('matriz');
	}
	
	public function actionBusqueda()
	{  		
		$model=new Persona('search');
		$model->unsetAttributes();				
		if(isset($_GET['Persona']))
			$model->attributes=$_GET['Persona'];
					
		$this->render('busqueda',array(
			'model'=>$model,
		));
	}
	
	public function actionInscripcionNominal()
	{
		$this->render('index');
	}
	
	public function actionBusquedaAcreditados()
	{
		//$criteria = new CDbCriteria();
		//$criteria->addSearchCondition('persona_nombres_apellidos', $search, true, 'OR');
   		//$dataProvider = new CActiveDataProvider('Persona', array(
        //		'criteria'=>$criteria,
        //	)
    	//);
   		//$this->render('batchDirecta', array('dataProvider' => $dataProvider));
			/*$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
					$criteria->order="gp.persona_nacionalidad,gp.persona_nombres_apellidos,gin.inscripcion_nominal_estado";
					
					$criteria->condition="gin.inscripcion_nominal_estado = 'ACREDITADO'";*/
					
					//$dataProvider=new CActiveDataProvider('Persona',					
					//array(
					//	'criteria'=>$criteria,
					//	//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
					//	)
					//);
					
		$erick=Yii::app()->db->createCommand("
			
					SELECT gp.persona_nombres_apellidos, gca.categoria_aplica, gpa.pais_nombre, CONCAT(gp.persona_tipo_identificacion, ' ', gp.persona_numero_identificacion), gin.inscripcion_nominal_estado
					FROM grid_inscripcion_nominal AS gin

					INNER JOIN grid_persona AS gp
					ON gin.inscripcion_nominal_persona=gp.persona_id

					INNER JOIN grid_pais AS gpa
					ON gp.persona_pais = gpa.pais_id
					
					INNER JOIN grid_categoria_aplica AS gca
					ON gin.inscripcion_nominal_aplica = gca.categoria_aplica_id

					INNER JOIN grid_deporte_actividad AS gda
					ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
					
					INNER JOIN grid_users AS gu
					ON gu.id = gp.user_id
					
					WHERE gin.inscripcion_nominal_estado = 'ACREDITADO'
			
					ORDER BY gp.persona_nacionalidad,gp.persona_nombres_apellidos,gin.inscripcion_nominal_estado
				
				")->query();
									
					$model=new PersonaNominal('search');
					$model->unsetAttributes();				
					if(isset($_GET['PersonaNominal']))
						$model->attributes=$_GET['PersonaNominal'];

					$config = array();
					$dataProvider=new CArrayDataProvider($erick, $config);
						
					//$model2=new InscripcionNominal('search');
					//$model2->unsetAttributes();
					//if(isset($_GET['InscripcionNominal']))
					//	$model2->attributes=$_GET['InscripcionNominal'];
								
					//$this->render('busquedaAcreditados',array('model'=>$model,));
					
			
					$this->render('busquedaAcreditados',array('dataProvider'=>$dataProvider,'model'=>$model));
	}
	
	public function actionBatchDirecta()
	{
		
			$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
					$criteria->order="gp.persona_nacionalidad,gp.persona_nombres_apellidos,gin.inscripcion_nominal_estado";
					
					$criteria->condition="inscripcion_nominal_estado = 'INSCRIPCION DIRECTA'";
					
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);

					$pages=new CPagination(InscripcionNominal::model()->count($criteria->condition));
					$pages->pageSize=10;
    				$pages->applyLimit($criteria);
					$model=Persona::model()->findAll($criteria);
					
	if(isset($_POST['Persona']))
		{
			//$valid=true;
			$i=0;
					
			foreach ($dataProvider->getData() as $data)
			{
				$i++;							
				
				if(isset($_POST['Persona'][$i]))
				{					
					/*$uJob = $this->loadModel($_POST['Job'][$i]['idjob']);
					$uJob->attributes=$_POST['Job'][$i];
					$uJob->save();

					$jobs = Job::model()->findAll();*/
					
					//echo $_POST['Persona'][$i]['inscripcion_nominal_estado'];
					
					
					//Si esta ISSET es porque esta marcado el check
					if(isset($_POST['Persona'][$i]['persona_seleccionada']))
					{						
						$connection = Yii::app()->db;
						$command = $connection->createCommand("
						   UPDATE grid_inscripcion_nominal SET inscripcion_nominal_estado='{$_POST['AccionBatch']}' WHERE inscripcion_nominal_id='{$_POST['Persona'][$i]['inscripcion_nominal_id']}';");
						$command->query();
						
					}
					
				}				
			}
					//$model=new Persona();
					//$model->unsetAttributes();  // clear any default values
					//$model->attributes=$_POST['Persona'];
					
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);
			
		}

				
				$this->render('batchDirecta',array('dataProvider'=>$dataProvider,'model'=>$model,'pages'=>$pages,'tipo'=>'directa'));
	
	}
	
	public function actionBatchRegistrado()
	{
		
		$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
					$criteria->order="gp.persona_nacionalidad,gp.persona_nombres_apellidos,gin.inscripcion_nominal_estado";
					
					$criteria->condition="inscripcion_nominal_estado = 'REGISTRADO'";
					
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);		
					
					$pages=new CPagination(InscripcionNominal::model()->count($criteria->condition));
					$pages->pageSize=10;
    				$pages->applyLimit($criteria);
					$model=Persona::model()->findAll($criteria);
					
	if(isset($_POST['Persona']))
		{
			//$valid=true;
			$i=0;
					
			foreach ($dataProvider->getData() as $data)
			{
				$i++;							
				
				if(isset($_POST['Persona'][$i]))
				{					
					/*$uJob = $this->loadModel($_POST['Job'][$i]['idjob']);
					$uJob->attributes=$_POST['Job'][$i];
					$uJob->save();

					$jobs = Job::model()->findAll();*/
					
					//echo $_POST['Persona'][$i]['inscripcion_nominal_estado'];
					
					
					//Si esta ISSET es porque esta marcado el check
					if(isset($_POST['Persona'][$i]['persona_seleccionada']))
					{						
						$connection = Yii::app()->db;
						$command = $connection->createCommand("
						   UPDATE grid_inscripcion_nominal SET inscripcion_nominal_estado='{$_POST['AccionBatch']}' WHERE inscripcion_nominal_id='{$_POST['Persona'][$i]['inscripcion_nominal_id']}';");
						$command->query();						
					}
					
				}				
			}
			
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);	
			
		}					

				
				$this->render('batchRegistrados',array('dataProvider'=>$dataProvider,'pages'=>$pages,'tipo'=>'acreditacion','model'=>$model));															
	
		
	}
	
	public function actionBatchEliminado()
	{
		
		$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
					$criteria->order="gp.persona_nacionalidad,gp.persona_nombres_apellidos,gin.inscripcion_nominal_estado";
					
					$criteria->condition="inscripcion_nominal_estado = 'ELIMINADO'";
					
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);		
					
					$pages=new CPagination(InscripcionNominal::model()->count($criteria->condition));
					$pages->pageSize=10;
    				$pages->applyLimit($criteria);
					$model=Persona::model()->findAll($criteria);
					
	if(isset($_POST['Persona']))
		{
			//$valid=true;
			$i=0;
					
			foreach ($dataProvider->getData() as $data)
			{
				$i++;							
				
				if(isset($_POST['Persona'][$i]))
				{					
					/*$uJob = $this->loadModel($_POST['Job'][$i]['idjob']);
					$uJob->attributes=$_POST['Job'][$i];
					$uJob->save();

					$jobs = Job::model()->findAll();*/
					
					//echo $_POST['Persona'][$i]['inscripcion_nominal_estado'];
					
					
					//Si esta ISSET es porque esta marcado el check
					if(isset($_POST['Persona'][$i]['persona_seleccionada']))
					{						
						$connection = Yii::app()->db;
						$command = $connection->createCommand("
						   UPDATE grid_inscripcion_nominal SET inscripcion_nominal_estado='{$_POST['AccionBatch']}' WHERE inscripcion_nominal_id='{$_POST['Persona'][$i]['inscripcion_nominal_id']}';");
						$command->query();						
					}
					
				}				
			}
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);	
			
		}
					
					
		$this->render('batchEliminado',array('dataProvider'=>$dataProvider,'model'=>$model,'pages'=>$pages,'tipo'=>'eliminado'));
	}
	
	public function actionBatchNegado()
	{
		
		$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
					$criteria->order="gp.persona_nacionalidad,gp.persona_nombres_apellidos,gin.inscripcion_nominal_estado";
					
					$criteria->condition="inscripcion_nominal_estado = 'NEGADO'";
					
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);		
					
					$pages=new CPagination(InscripcionNominal::model()->count($criteria->condition));
					$pages->pageSize=10;
    				$pages->applyLimit($criteria);
					$model=Persona::model()->findAll($criteria);
					
	if(isset($_POST['Persona']))
		{
			//$valid=true;
			$i=0;
					
			foreach ($dataProvider->getData() as $data)
			{
				$i++;							
				
				if(isset($_POST['Persona'][$i]))
				{					
					/*$uJob = $this->loadModel($_POST['Job'][$i]['idjob']);
					$uJob->attributes=$_POST['Job'][$i];
					$uJob->save();

					$jobs = Job::model()->findAll();*/
					
					//echo $_POST['Persona'][$i]['inscripcion_nominal_estado'];
					
					
					//Si esta ISSET es porque esta marcado el check
					if(isset($_POST['Persona'][$i]['persona_seleccionada']))
					{						
						$connection = Yii::app()->db;
						$command = $connection->createCommand("
						   UPDATE grid_inscripcion_nominal SET inscripcion_nominal_estado='{$_POST['AccionBatch']}' WHERE inscripcion_nominal_id='{$_POST['Persona'][$i]['inscripcion_nominal_id']}';");
						$command->query();						
					}
					
				}				
			}
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);	
			
		}
					
					
		$this->render('batchNegado',array('dataProvider'=>$dataProvider,'tipo'=>'negado','pages'=>$pages,'model'=>$model));
	}
	
	
	
	public function array_push_assoc($array, $key, $value){
		$array[$key] = $value;
		return $array;
	}
	
	public function actionBatchAprobado()
	{
		
		$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
					$criteria->order="gp.persona_nacionalidad,gin.inscripcion_nominal_categoria,gin.inscripcion_nominal_aplica,gp.persona_nombres_apellidos";
					
					$criteria->condition="inscripcion_nominal_estado='APROBADO'";
					
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);		
					
					$pages=new CPagination(InscripcionNominal::model()->count($criteria->condition));
					$pages->pageSize=12;
    				$pages->applyLimit($criteria);
					$model=Persona::model()->findAll($criteria);
					
	if(isset($_POST['Persona']))
		{
			//$valid=true;
			$i=0;
					$contadorAcreditado = 0;
					$arrayacreditado = array();
			foreach ($dataProvider->getData() as $data)
			{
				$i++;							
				
				if(isset($_POST['Persona'][$i]))
				{					
					/*$uJob = $this->loadModel($_POST['Job'][$i]['idjob']);
					$uJob->attributes=$_POST['Job'][$i];
					$uJob->save();

					$jobs = Job::model()->findAll();*/
					
					//echo $_POST['Persona'][$i]['inscripcion_nominal_estado'];
					
					
					
					//Si esta ISSET es porque esta marcado el check
					if(isset($_POST['Persona'][$i]['persona_seleccionada']))
					{	
						if($_POST['AccionBatch']=='ACREDITADO')
						{
							$arrayacreditado[$contadorAcreditado] = $_POST['Persona'][$i]['inscripcion_nominal_id'];
							$contadorAcreditado++;
						}					
						$connection = Yii::app()->db;
						$command = $connection->createCommand("
						   UPDATE grid_inscripcion_nominal SET inscripcion_nominal_estado='{$_POST['AccionBatch']}',credencial_generada=credencial_generada+1 WHERE inscripcion_nominal_id='{$_POST['Persona'][$i]['inscripcion_nominal_id']}';");
						$command->query();						
					}
					
				}
			}
			//echo $contadorAcreditado;
			
			//print_r($arrayacreditado);
			
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);
					
					
			//Construir array para redirect
			$arrayRedirect= array('/credencial/imprimir','d'=>$contadorAcreditado);

			for ($i = 0; $i < $contadorAcreditado; $i++) {											
				$arrayRedirect = $this->array_push_assoc($arrayRedirect, 'd'.$i, $arrayacreditado[$i]);						
			}
			if($_POST['AccionBatch']=='ACREDITADO')						
				$this->redirect($arrayRedirect);			
			//$this->redirect(array('/credencial/imprimir','d'=>$contadorAcreditado));
			//$this->redirect(array('modificarRegistro','inid'=>$inid));	
			//$this->redirect(array('/panel/acreditaciones','d'=>$contadorAcreditado,$arrayacreditado));
		}
					
					
		$this->render('batchAprobado',array('dataProvider'=>$dataProvider,'model'=>$model,'pages'=>$pages,'tipo'=>'aprobado'));
	}
	
	
	public function actionAcreditaciones()
	{
		
		$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
					$criteria->order="gp.persona_nacionalidad,gp.persona_nombres_apellidos,gin.inscripcion_nominal_estado";
					
					$criteria->condition="gin.inscripcion_nominal_estado = 'ACREDITADO'";
					
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);		
					
					
	if(isset($_POST['Persona']))
		{
			//$valid=true;
			$i=0;
					
			foreach ($dataProvider->getData() as $data)
			{
				$i++;							
				
				if(isset($_POST['Persona'][$i]))
				{					
					/*$uJob = $this->loadModel($_POST['Job'][$i]['idjob']);
					$uJob->attributes=$_POST['Job'][$i];
					$uJob->save();

					$jobs = Job::model()->findAll();*/
					
					//echo $_POST['Persona'][$i]['inscripcion_nominal_estado'];
					
					
					//Si esta ISSET es porque esta marcado el check
					if(isset($_POST['Persona'][$i]['persona_seleccionada']))
					{						
						$connection = Yii::app()->db;
						$command = $connection->createCommand("
						   UPDATE grid_inscripcion_nominal SET inscripcion_nominal_estado='{$_POST['AccionBatch']}' WHERE inscripcion_nominal_id='{$_POST['Persona'][$i]['inscripcion_nominal_id']}';");
						$command->query();						
					}
					
				}				
			}
					$dataProvider=new CActiveDataProvider('Persona',					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);	
			
		}
					
					
		$this->render('acreditaciones',array('dataProvider'=>$dataProvider,'tipo'=>'acreditado'));
	}
	
	
	public function actionReporteNumericoPais()
	{
		if(isset($_POST['numericoPais']))		
			$_SESSION['paisReporteNumerico']=$_POST['numericoPais'];			
		
		$this->render('reporteNumericoPais',array('pais'=>$_SESSION['paisReporteNumerico']));		
					
	}
	
	public function actionReporteNumericoPaises()
	{
		$this->render('reporteNumericoPaises');		
	}
	
	public function actionReporteTodosPaises()
	{
			
		
  //$model->first_name = $_GET['txtBusqueda'];
		
			$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
					$criteria->order="gp.persona_nacionalidad,gp.persona_nombres_apellidos,gin.inscripcion_nominal_estado";
					$criteria->condition="gin.inscripcion_nominal_estado = 'REGISTRADO'";
					
					/*if(isset($_GET['txtBusqueda'])&& !empty($_GET['txtBusqueda']))
						$criteria->condition="gin.inscripcion_nominal_estado != 'INSCRIPCION DIRECTA' AND gp.persona_nombres_apellidos LIKE %{$_GET['txtBusqueda']}%";
					else*/
						//$criteria->condition="gin.inscripcion_nominal_estado != 'INSCRIPCION DIRECTA'";
					
					$dataProvider=new CActiveDataProvider('Persona',
					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);		
	
        			$this->render('reporteNominaPais',array('dataProvider'=>$dataProvider,'pais'=>'TODOS LOS PAISES PARTICIPANTES'));						
	}
	
	public function actionReporteDirectaTodosPaises()
	{
			$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
					$criteria->order="gp.persona_nacionalidad,gp.persona_nombres_apellidos,gin.inscripcion_nominal_estado";
					
					$criteria->condition="gin.inscripcion_nominal_estado = 'INSCRIPCION DIRECTA'";
					
					$dataProvider=new CActiveDataProvider('Persona',
					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);		
	
        			$this->render('reporteNominaPais',array('dataProvider'=>$dataProvider,'pais'=>'TODOS LOS PAISES PARTICIPANTES'));						
	}
	
	public function actionReporteNominaPais()
	{
		if(isset($_POST['nominaPais']))		
			$_SESSION['paisReporteAdmin']=$_POST['nominaPais'];
		
			$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';
//					$criteria->condition="";
					
					$criteria->condition="gu.pais= '{$_SESSION['paisReporteAdmin']}' and gin.inscripcion_nominal_estado = 'REGISTRADO'";
					
					$criteria->order="gp.persona_nombres_apellidos,gin.inscripcion_nominal_estado";
				
					$dataProvider=new CActiveDataProvider('Persona',
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'persona_nombres_apellidos ASC',),
						)
					);		
	
        			$this->render('reporteNominaPais',array('dataProvider'=>$dataProvider,'pais'=>$_SESSION['paisReporteAdmin']));	
	
	}
	
	public function actionImprimirReporteNominaPais()
	{
		if(isset($_POST['nominaPais']))		
			$_SESSION['paisReporteAdmin']=$_POST['nominaPais'];
		
			$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
			set_time_limit(1000); 
	ini_set("memory_limit","10000M");
			
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';
//					$criteria->condition="";
					
					//$criteria->condition="gu.pais= '{$_SESSION['paisReporteAdmin']}' and gin.inscripcion_nominal_estado = 'REGISTRADO'";
					//$criteria->condition="gu.pais= '{$_SESSION['paisReporteAdmin']}' ";
					
					$criteria->order="gp.persona_nacionalidad,gda.deporte_actividad_descripcion,gp.persona_genero,gp.persona_nombres_apellidos";
				
					$dataProvider=new CActiveDataProvider('Persona',
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'persona_nombres_apellidos ASC',),
						)
					);		

					
					$dataProvider->pagination =false;
					
        			$this->render('imprimirReporteNominaPais',array('dataProvider'=>$dataProvider,'pais'=>$_SESSION['paisReporteAdmin']));	
	
	}
	
	
	public function actionImprimirReporteAprobados()
	{
		if(isset($_POST['nominaPais']))		
			$_SESSION['paisReporteAdmin']=$_POST['nominaPais'];
		
			$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';
//					$criteria->condition="";
					
					$criteria->condition="gin.inscripcion_nominal_estado = 'APROBADO'";
					
					$criteria->order="gp.persona_nacionalidad,gda.deporte_actividad_descripcion,gp.persona_genero,gp.persona_nombres_apellidos";
				
					$dataProvider=new CActiveDataProvider('Persona',
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'persona_nombres_apellidos ASC',),
						)
					);		

					
					$dataProvider->pagination =false;
					
        			$this->render('imprimirReporteAprobados',array('dataProvider'=>$dataProvider,'pais'=>$_SESSION['paisReporteAdmin']));			
	}
	
	public function actionImprimirReporteEliminados()
	{
		if(isset($_POST['nominaPais']))		
			$_SESSION['paisReporteAdmin']=$_POST['nominaPais'];
		
			$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';
//					$criteria->condition="";
					
					$criteria->condition="gin.inscripcion_nominal_estado = 'ELIMINADO'";
					
					$criteria->order="gp.persona_nacionalidad,gda.deporte_actividad_descripcion,gp.persona_genero,gp.persona_nombres_apellidos";
				
					$dataProvider=new CActiveDataProvider('Persona',
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'persona_nombres_apellidos ASC',),
						)
					);		

					
					$dataProvider->pagination =false;
					
        			$this->render('imprimirReporteEliminados',array('dataProvider'=>$dataProvider,'pais'=>$_SESSION['paisReporteAdmin']));
	}
	
	public function actionImprimirReporteNegados()
	{
		if(isset($_POST['nominaPais']))		
			$_SESSION['paisReporteAdmin']=$_POST['nominaPais'];
		
			$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';
//					$criteria->condition="";
					
					$criteria->condition="gin.inscripcion_nominal_estado = 'NEGADO'";
					
					$criteria->order="gp.persona_nacionalidad,gda.deporte_actividad_descripcion,gp.persona_genero,gp.persona_nombres_apellidos";
				
					$dataProvider=new CActiveDataProvider('Persona',
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'persona_nombres_apellidos ASC',),
						)
					);		

					
					$dataProvider->pagination =false;
					
        			$this->render('imprimirReporteNegados',array('dataProvider'=>$dataProvider,'pais'=>$_SESSION['paisReporteAdmin']));
	}
	
	
	public function actionReporte()
	{		
	//	$dataProvider=new CActiveDataProvider('Persona');				
		$criteria = new CDbCriteria();	
		$criteria->alias ='gp';	
		$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona=gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
		';
								
		$criteria->condition='gp.user_id='. Yii::app()->user->id."  AND gin.inscripcion_nominal_estado = 'REGISTRADO'";
		//$criteria->together=true;
		
		$dataProvider=new CActiveDataProvider('Persona',
			array(
			'criteria'=>$criteria,
			'sort'=>array('defaultOrder'=>'persona_nombres_apellidos ASC',),
				)
			);		
	
        $this->render('reporte',array(
			'dataProvider'=>$dataProvider,
		));
		
	}
	
	public function actionReporteAcreditados()
	{
			$criteria = new CDbCriteria();
			
			$criteria->alias ='gp';											
					
					$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona = gp.persona_id
									INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
									INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
					$criteria->order="gp.persona_nombres_apellidos, gin.inscripcion_nominal_estado";
					
					$criteria->condition="gin.inscripcion_nominal_estado = 'ACREDITADO'";
					
					$dataProvider=new CActiveDataProvider('Persona',
					
					array(
						'criteria'=>$criteria,
						//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
						)
					);	
	
        			$this->render('reporteAcreditados',array('dataProvider'=>$dataProvider));							
	}
	
	public function actionReporteRegistrados()
	{
		$criteria = new CDbCriteria();
			
		$criteria->alias ='gp';											
					
		$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona = gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
		$criteria->order="gp.persona_nombres_apellidos, gin.inscripcion_nominal_estado";
					
		$criteria->condition="gin.inscripcion_nominal_estado = 'REGISTRADO'";
					
		$dataProvider=new CActiveDataProvider('Persona',
					
		array(
				'criteria'=>$criteria,
				//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
					)
				);
		
		
		$this->render('reporteRegistrados',array('dataProvider'=>$dataProvider));
	}
	
	public function actionReporteAprobados()
	{
		$criteria = new CDbCriteria();
			
		$criteria->alias ='gp';											
					
		$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona = gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
		$criteria->order="gp.persona_nombres_apellidos, gin.inscripcion_nominal_estado";
					
		$criteria->condition="gin.inscripcion_nominal_estado = 'APROBADO'";
					
		$dataProvider=new CActiveDataProvider('Persona',
					
		array(
				'criteria'=>$criteria,
				//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
					)
				);
		
		$this->render('reporteAprobados',array('dataProvider'=>$dataProvider));
	}
	
	public function actionReporteNegados()
	{
		$criteria = new CDbCriteria();
			
		$criteria->alias ='gp';											
					
		$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona = gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
		$criteria->order="gp.persona_nombres_apellidos, gin.inscripcion_nominal_estado";
					
		$criteria->condition="gin.inscripcion_nominal_estado = 'NEGADO'";
					
		$dataProvider=new CActiveDataProvider('Persona',
					
		array(
				'criteria'=>$criteria,
				//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
					)
				);
		
		$this->render('reporteNegados',array('dataProvider'=>$dataProvider));
	}
	
	public function actionReporteEliminados()
	{
		$criteria = new CDbCriteria();
			
		$criteria->alias ='gp';											
					
		$criteria->join='INNER JOIN grid_inscripcion_nominal gin ON gin.inscripcion_nominal_persona = gp.persona_id
						INNER JOIN grid_deporte_actividad gda ON gda.deporte_actividad_id = gin.inscripcion_nominal_deporte_actividad
						INNER JOIN grid_users gu ON gu.id = gp.user_id';										
					
		$criteria->order="gp.persona_nombres_apellidos, gin.inscripcion_nominal_estado";
					
		$criteria->condition="gin.inscripcion_nominal_estado = 'ELIMINADO'";
					
		$dataProvider=new CActiveDataProvider('Persona',
					
		array(
				'criteria'=>$criteria,
				//'sort'=>array('defaultOrder'=>'gu.pais,gp.persona_nombres_apellidos ASC',),
					)
				);
		
		
		$this->render('reporteEliminados',array('dataProvider'=>$dataProvider));
	}
	
	public function actionIndex()
	{
		//Yii::app()->clientScript->scriptMap['jquery.js']=true;
		$this->render('index');
	}

	public function actionForms()
	{
		$usuario=User::model()->findByPk(Yii::app()->user->id);		
				
		switch($usuario->organizacion_id)
		{
			case 'admin':
				$modelo=array(
				'usuario'=>$usuario->username,
				'tipo'=>$usuario->organizacion_id,
				'pais'=>$usuario->pais,
				'mensaje'=>'Bienvenidos al Sistema de Solicitud de Acreditaciones ONLINE, si tiene alguna inquietud le agradecemos escribirnos a sistemas@manta2011.org',
				'delegaciones'=>'link',
				'broadcast'=>'link',
				'prensa'=>'link',				
				);		

				$dataTree=$this->getDataFormatted($this->getData());
				  
				$this->render('admin',array('modelo'=>$modelo,'data'=>$dataTree));				
				break;
			case 'con':
				
				$modelo=array(
				'usuario'=>$usuario->username,
				'tipo'=>$usuario->organizacion_id,
				'pais'=>$usuario->pais,
				'mensaje'=>'Bienvenidos al Sistema de Solicitud de Acreditaciones ONLINE, si tiene alguna inquietud le agradecemos escribirnos a sistemas@manta2011.org',
				'delegaciones'=>'link',
				'broadcast'=>'link',
				'prensa'=>'link',				
				);				
				$this->render('cons',array('modelo'=>$modelo));				
				break;
			
		case 'odesur':
				
				$modelo=array(
				'usuario'=>$usuario->username,
				'tipo'=>$usuario->organizacion_id,
				'pais'=>$usuario->pais,
				'mensaje'=>'Bienvenidos al Sistema de Solicitud de Acreditaciones ONLINE, si tiene alguna inquietud le agradecemos escribirnos a sistemas@manta2011.org',
				'delegaciones'=>'link',
				'broadcast'=>'link',
				'prensa'=>'link',				
				);				
				$this->render('odesur',array('modelo'=>$modelo));				
				break;

		case 'coffed':
				
				$modelo=array(
				'usuario'=>$usuario->username,
				'tipo'=>$usuario->organizacion_id,
				'pais'=>$usuario->pais,
				'mensaje'=>'Bienvenidos al Sistema de Solicitud de Acreditaciones ONLINE, si tiene alguna inquietud le agradecemos escribirnos a sistemas@manta2011.org',
				'delegaciones'=>'link',
				'broadcast'=>'link',
				'prensa'=>'link',				
				);				
				$this->render('coffed',array('modelo'=>$modelo));				
				break;
				
			case 'comanta':
				
				$modelo=array(
				'usuario'=>$usuario->username,
				'tipo'=>$usuario->organizacion_id,
				'pais'=>$usuario->pais,
				'mensaje'=>'Bienvenidos al Sistema de Solicitud de Acreditaciones ONLINE, si tiene alguna inquietud le agradecemos escribirnos a sistemas@manta2011.org',
				'delegaciones'=>'link',
				'broadcast'=>'link',
				'prensa'=>'link',				
				);				
				$this->render('comanta',array('modelo'=>$modelo));				
				break;
				case 'co':
				
				$modelo=array(
				'usuario'=>$usuario->username,
				'tipo'=>$usuario->organizacion_id,
				'pais'=>$usuario->pais,
				'mensaje'=>'Bienvenidos al Sistema de Solicitud de Acreditaciones ONLINE, si tiene alguna inquietud le agradecemos escribirnos a sistemas@manta2011.org',
				'delegaciones'=>'link',
				'broadcast'=>'link',
				'prensa'=>'link',				
				);				
				$this->render('co',array('modelo'=>$modelo));				
				break;
			case 'prensa':
			
				$modelo=array(
				'usuario'=>$usuario->username,
				'tipo'=>$usuario->organizacion_id,
				'pais'=>$usuario->pais,
				'mensaje'=>'Bienvenidos al Sistema de Solicitud de Acreditaciones ONLINE, si tiene alguna inquietud le agradecemos escribirnos a sistemas@manta2011.org',
				'delegaciones'=>'link',
				'broadcast'=>'link',
				'prensa'=>'link',				
				);				
				$this->render('prensa',array('modelo'=>$modelo));				
				break;
				
			case 'municipio':
			
				$modelo=array(
				'usuario'=>$usuario->username,
				'tipo'=>$usuario->organizacion_id,
				'pais'=>$usuario->pais,
				'mensaje'=>'Bienvenidos al Sistema de Solicitud de Acreditaciones ONLINE, si tiene alguna inquietud le agradecemos escribirnos a sistemas@manta2011.org',
				'delegaciones'=>'link',
				'broadcast'=>'link',
				'prensa'=>'link',				
				);				
				$this->render('municipio',array('modelo'=>$modelo));				
				break;
				
		}
		
		
	}
	
	/** TREEVIEW ***/
	
 	protected function formatData($person)
    {
      return array('text'=>$person['name'],'id'=>$person['id'],'hasChildren'=>isset($person['parents']));
    }
	
 	protected function getDataFormatted($data)
    {

        foreach($data as $k=>$person)
        {
            $personFormatted[$k]=$this->formatData($person);
            $parents=null;
            if(isset($person['parents']))
            {
                $parents=$this->getDataFormatted($person['parents']);
                $personFormatted[$k]['children']=$parents;
            }
        }
        return $personFormatted;
    }
	
	
 	protected function getData()
    {
        $data=array(
                  array("id"=>1,"name"=>"OPCIONES","parents"=>
                        array(
                        		array("id"=>10,"name"=>"MATRIZ"),
                                array("id"=>100,"name"=>"CATEGORÍA"),
                                array("id"=>1000,"name"=>"DEPORTE"),
                                array("id"=>10000,"name"=>"FUNCIÓN"),                                
                                array("id"=>100000,"name"=>"TRANSPORTE"),
                                array("id"=>1000000,"name"=>"ZONA"),
                        ),
                    ),
                 );
        return $data;
    }
	
	/*** TREEVIEW FIN ****/
	
	// Uncomment the following methods and override them if needed
	/*
	public function filters()
	{
		// return the filter configuration for this controller, e.g.:
		return array(
			'inlineFilterName',
			array(
				'class'=>'path.to.FilterClass',
				'propertyName'=>'propertyValue',
			),
		);
	}

	public function actions()
	{
		// return external action classes, e.g.:
		return array(
			'action1'=>'path.to.ActionClass',
			'action2'=>array(
				'class'=>'path.to.AnotherActionClass',
				'propertyName'=>'propertyValue',
			),
		);
	}
	*/
}